package il.ac.tau.arielgue.outxing.utils;

public class Params extends proevolution.utils.Params {
	// extension of proevolution class inherits it's parameter engine.

	public static double getMigrationFitnessCost() {
		return paramEngine.getParam("migrationfitnesscost");
	}

	public static double getInoutXingFitnessCost() {
		return paramEngine.getParam("inoutxingfitnesscost");
	}

	public static double getHeterozygotCoefficient() {
		return paramEngine.getParam("heterozygotcoefficient");
	}

	public static int getNumberOfDemes() {
		return paramEngine.getParam("numberofdemes");
	}

	public static int getDemeCarryingCapacity() {
		return paramEngine.getParam("demecarryingcapacity");
	}

	public static double getFitnessThresholdToLeavePool() {
		return paramEngine.getParam("fitnessthresholdtoleavepool");
	}

	public static double getDemeMaxPopulationModifier() {
		return 1;
	}

	public static int getDemeMaxPopulationPeriod() {
		return paramEngine.getParam("dememaxpopulationperiod");
	}

	public static int getNumberOfChildren() {
		return paramEngine.getParam("numberofchildren");
	}

	public static double getOutXingTendecySlope() {
		return 1;
	};

	public static double getOutXingTendenctMaxX() {
		return 10;
	};

	public static double getOutXingTendenctMidX() {
		return 0.5;
	};

	public static double getMeanOutXingFraction() {
		return paramEngine.getParam("meanoutxingfraction");
	};

	public static double getInvasionRate() {
		return paramEngine.getParam("invasionrate");
	}

	public static int getWeatherChangeIndicator() {
		return paramEngine.getParam("weatherchangeindicator");
	}

	public static int getOutXingTendencyFeedbackSlope() {
		return 2;
	}

	public static double getPredationEffectFraction() {
		return paramEngine.getParam("predationeffectfraction");
	}
	public static String getJobName(){
		return paramEngine.getParam("jobname");
	}
	public static String getJobDate(){
		return paramEngine.getParam("jobdate");
	}

	public static double getMigrationProbability() {
		return paramEngine.getParam("migrationprobability");
	}

	public static double getHeterozygotInvasionRate() {
		return paramEngine.getParam("heterozygotinvasionrate");
	}
	
	public static String getInvader() {
		return paramEngine.getParam("invader");
	}
}
